<?php

include_once 'conf/config.php';
include_once "modelo.php";
include_once "vista.php";
include_once 'controlador.php';
class Control{
	var $modelo;
	var $vista;
	function Control(){
		global $host,$username,$password,$database;		
		//cargo el modelo
		$this->modelo=new Modelo($host, $username, $password, $database);
		$this->vista=new vista();
		//if (!isset($_SESSION['user'])) {
		//	$this->vista->pasa_vista("presentalogin", true);
		//}else{
		//	$this->vista->pasa_vista("presentalogin", false);
		//}
		//$this->vista->pasa_vista("session", $_SESSION);	
		$this->cargamodulo();	
		$this->modelo->desconecta();
	}
	
	function cargamodulo(){
		if (isset($_GET['module']) && $_GET['module']!=null && $_GET['module']!="") {
			$module=$_GET['module'];
		}else{
			$module="main";
		}
		if ($this->tengopermiso($module)) {
			//cargar el modulo
			$modulefile="modules/".$module."/c".$module.'.php';
			include_once $modulefile;
			$nclase="C".$module;
			$objeto=new $nclase($module,$this->modelo,$this->vista);
		} else {
			//debemos sacar un aviso de que el usuario con la validacion que tiene, no tiene permisos
			//para ver ese menu
			$module="error";
			$this->vista->pasa_vista("modulo", $module);
			$this->vista->pasa_vista("session",$_SESSION);
			$this->vista->display("index.tpl.html");
			
		}		
	}
	
	function tengopermiso($module){
		if ($module=="socios" || $module=="main") {
			if (isset($_GET['action'])) {
				$action=$_GET['action'];
			} else {
				$action="index";
			}
			if ($action=="login" || $action=="logout" || $action=="peticionAlta" || $action=="index"){
				return true;
			}	
			elseif (isset($_SESSION['user']) && $_SESSION['user']['tipoSocio']=="admin") {
				return true;
			} else {
				if (isset($_SESSION['user']) && ($_SESSION['user']['tipoSocio']=="socio" || $_SESSION['user']['tipoSocio']=="bodeguero")) {
					if ($action=="ticketComida" || $action=="cerrarTicket"
						|| $action=="modificarSocios" || $action=="datosPersonales"
						|| $action=="gestionNoticias" || $action=="cenaMensual"
						|| $action=="reservaMesas")
						{
						return true;
					}
					elseif(isset($_SESSION['user']) && $_SESSION['user']['tipoSocio']=="bodeguero"){
						if ($action=="listadoBodeguero"  
							|| $action=="gestionStock" || $action=="addStock"
							|| $action=="modificarStock" || $action=="eliminarStock")
							{
							return true;
						}
					}
					else{
						return false;
					}
				}
				else{
					return false;
				}
			}
		}
		else{	
			return false;
		}
	}
}
?>